Hard Real-Time Garbage-Collection in the Jamaica Virtual Machine
نویسنده
چکیده
Java S automatic memory management is the main reason that prevents Java from being used in hard realtime environments. We present the garbage collection mechanism that is used by the Jamaica Virtual Machine, an implementation of the Java Virtual Machine Specification. This mechanism differs significantly from existing implementations in the way threads are implemented, root references are found and in the object layout that is used. The implementation provides hard real-time guarantees while it allows unrestricted use of the Java language. Even dynamic allocation of normal garbage collected Java objects is possible with hard real-time guarantees. memory accesses, reference assignments, modifications of the root set and allocations are known. For such a system to be useful, this worst case performance must be small, else the worst case performance of a bigger task consisting of several of such operations quickly becomes unacceptable. The Jamaica Virtual Machine project aims at providing such hard real-time behaviour. In this paper, we present the garbage collection mechanism that is used by Jamaica to achieve this goal. 2. Required Real-Time Guarantees There are several guarantees that have to be given by a Java implementation so that it can be used for hard real-time programming:
منابع مشابه
Real-Time Music synthesis in Java using the Metronome Garbage Collector
Automatic memory management via garbage collection is the key to the safety, portability, and high productivity of modern programming languages like Java. However, until now no truly real-time garbage collector has existed for Java. As a result, the extreme real-time requirements of interactive music synthesis and processing have made it impossible to build such systems in Java. We have develop...
متن کاملJamOLizer: Garbage Collection Visualizer in the JamVM
Garbage collection is a vital part of a virtual machine. However, the choice of garbage collector and its correct implementation is different for each type of system, especially real-time systems. It is hard to imagine what is happening internally within the garbage collector, which can lead to extremely fragmented systems or systems with degraded performance. GCspy [1] is a free visualization ...
متن کاملConstant-Time Root Scanning for Deterministic Garbage Collection
Root scanning is the task of identifying references to heap objects that are stored outside of the heap itself, in global and local variables and on the execution stack. Root scanning is particularly difficult within an incremental garbage collector that needs to be deterministic or give hard realtime guarantees. Here, a method that allows exact root scanning is presented. The basic idea is to ...
متن کاملStaccato: A Parallel and Concurrent Real-time Compacting Garbage Collector for Multiprocessors
Existing real-time garbage collectors are either unable to scale to large multiprocessors, or unable to meet hard real-time requirements even with specialized hardware support. These limitations are rapidly becoming unacceptable: hardware improvements have brought multi-gigabyte heaps and ubiquitous multi-core parallelism; applications have increasingly stringent real-time requirements; and non...
متن کاملGenerational Real-Time Garbage Collection A Three-Part Invention for Young Objects
While real-time garbage collection is now available in production virtual machines, the lack of generational capability means applications with high allocation rates are subject to reduced throughput and high space overheads. Since frequent allocation is often correlated with a high-level, objectoriented style of programming, this can force builders of real-time systems to compromise on softwar...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999